home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Atari Mega Archive 1
/
Atari Mega Archive - Volume 1.iso
/
language
/
f68k.zoo
/
changes.txt
< prev
next >
Wrap
Text File
|
1992-04-21
|
11KB
|
310 lines
Bekannte Fehler:
================
Änderungen:
===========
12.7.90
- Laderfunktionen EMIT, KEY und KEY? auf BIOS umgestellt
- Laderfunktionen müssen Register d0-d7/a0-a5 retten.
- EXIT geändert, funktionierte nicht
22.7.90
- Lader übergibt zusätzlich Zeiger auf Tabelle mit den
Startblöcken der einzelnen Geräte für R/W. Auf diese Tabelle wird
von F68K mit ROOTTABLE zugegriffen.
- Wenn WARNING eingeschaltet wird, wird nicht mehr mit FIND,
sondern mit VOCSEARCH nur noch das CURRENT-Vokabular durchsucht.
- ?LEAVE aus dem Kernel entfernt
- Lader stellt Floatstack nicht mehr zur Verfügung.
6.8.90
- DEFER im Kern geändert. Jetzt auch ROMfähig.
- BLOCK defered, mit (BLOCK vorbesetzt
- PAUSE eingeführt (defered), mit NOOP vorbesetzt
3.9.90
- LOAD defered, mit (LOAD vorbesetzt
- (LOAD führt BLOCK nicht mehr aus, sondern setzt nur BLK
- SOURCE führt nicht mehr BLOCK, sondern (BLOCK aus
28.9.90
- Aufrufe der Laderfunktionen sichern Register selbst. Laderfunktionen
müssen Stack nicht mehr selbst korrigieren.
16.10.90
- USER-Variable CAPS eingeführt, die angibt, ob in NAME CAPITALIZE
ausgeführt werden soll.
- Fehler in BLOCK beseitigt. Wenn der Block nicht gelesen werden kann,
ist der Stack sauber.
- Wie LOAD und BLOCK ist jetzt auch BUFFER deferred und mit
(BUFFER vorbesetzt.
- Empfehlung aus Berlin, USER-Variablen über off(DT,us.l) zu adressieren
wurde geprüft. Geht nicht, da off nur 8 Bit breit sein darf.
17.10.90
- Fehlerhaftes 'C,' korrigiert. Hatte zuvor den DP um 2 erhöht.
27.1.91
- Kernel und Lader geändert. I/O-Funktionen übergeben Parameter jetzt
auf dem Returnstack, um mit C besser konform zu sein.
14.2.91
- Fehlerhaftes FLIT korrigiert
19.2.91
- VALUE, LOCAL und TO in den Kern übernommen. (ANSI!)
19.5.91
- BEXTEND und BREDUCE korrigiert!
19.5.91
- OSEXPECT korrigiert. Jetzt kein Backspace über dn linken Rand mehr möglich.
Abschließendes NULL-Byte ist verschwunden. Wenn EXPECT direkt mit <Return>
beendet wird, bleibt der Puffer unberührt!
19.5.91
- R> und >R sind nicht mehr restrict.
3.6.91
- Vergeleiche(0=,<, etc.) beschleunigt
4.6.91
- Kontrollstrukturen den gängigen Gepflogenheiten angepaßt:
BEGIN ... AGAIN
BEGIN ... WHILE ... REPEAT
BEGIN ... WHILE ... WHILE ... (WHILE) ... REPEAT THEN (THEN)
BEGIN ... WHILE ... AGAIN THEN
BEGIN ... UNTIL
BEGIN ... WHILE ... UNTIL THEN (! von dpANS nicht vorgesehen !)
BEGIN ... WHILE ... WHILE ... (WHILE) ... UNTIL THEN THEN (THEN)
4.6.91
- C-Lader wegen fehlerhafter oder fehlender Bibliotheken jetzt in Turbo-C.
Sozobon ist damit Mega-OUT.
12.6.91
- WICHTIGE LADER-KERNEL-ÄNDERUNG:
Der Lader übergibt nicht mehr alle Parameter einzeln, sondern faßt diese
in einem Parameterfeld zusammen, das F68K dann übergeben wird.
In diesem Parameterfeld ist Platz für einen kompletten Registersatz,
der von F68K bei deer Initialisierung dort abgelegt wird. Damit hat
der Lader vollständigen Zugriff auf seine eigene Laufzeitumgebung, wenn
er beim I/O aufgerufen wird.
12.6.91
- READSYS un WRITESYS werden jetzt auch wie schon KEY, EMIT, etc. nicht
mehr direkt, sondern in den Tabellen READSYSES und WRITESYSES übergeben.
12.6.91
- Die Adressen in den Tabellen KEYS, KEY?S, EMITS, R/WS, READSYSES und
WRITESYSES werden bei der Initialisierung nicht mehr in relative
F68K-Adressen umgesetzt, da sie ohnehin nicht direkt via EXECUTE ausgeführt
werden dürfen, sondern immer etwas Interfacing durch KEY, KEY?, EMIT, R/W,
READSYS und WRITESYS brauchen! Also:
(KEY) @ EXECUTE
ist verboten!!!!
12.6.91
- Aufgrund der obigen Änderung wurden (KEY) etc. in ^KEY etc. umbenannt.
12.6.91
- Es wird vom Assembler kein Standard-GEMDOS-Header mehr erzeugt.
Stattdessen, erzeugt der Assembler den dokumentierten Header selbst. In den
ersten zwei Byte, in der alten Doku als 'jump' bezeichnet, steht aber jetzt
'JP' (was das bloß heißen soll?), was vom Lader als Magic-Number geprüft
werden kann. SAVE wurde dementsprechend bereits geändert.
12.6.91
- VER eingeführt. VER liefert das datum der Kernelversion im amerikanischen
Datumsformat Monat-Tag-Jahr in BCD-Darstellung. Wenn also der Kern z.B. vom
12.6.91 ist erhält man:
HEX VER . --> 61291
13.6.91
- Lader kommt nun auch mit Diskettenwechseln im Laufwerk A: klar. Vorher
aber CHANGEMEDIUM oder CM nicht vergessen!!
14.6.91
- VER noch einmal geändert. Es liefert jetzt eine BCD-Zahl, die das Datum
in der Reihenfolge Jahr-Monat-Tag enthält. Damit kann man mit > und < die
Versionsdaten vergleichen (oder?).
14.6.91: 19910614
14.6.91
- USE des FIFI durch ein viiiel einfacheres ersetzt. es existiert nun ein
Stream USESTREAM, der von dem Blockstream, der durch USE ausgewählt wird,
belegt wird. USE ist damit auch kein definierendes Wort mehr.
20.6.91
- INTERPRET umgestellt. Es führt jetzt nach 'NAME NULLSTR? IF EXIT THEN'
das DEFER-Wort PARSER in seiner Schleife aus. PARSER kann mit
INTERPRETER oder COMPILER besetzt sein. '[' und ']' schalten den
PARSER-Vektor um:
: [ 0 STATE ! ['] INTERPRETER IS PARSER ;
: ] -1 STATE ! ['] COMPILER IS PARSER ;
26.6.91
- LOCALs im Kern allozieren jetzt den Platz für den Zeiger auf die Daten
im Datensegment. Dadurch entsteht zwar eine Indirektion beim Zugriff
mehr, dafür ist das Codesegment aber wieder ROM-fähig
- Fehler in DIGIT? beseitigt. @@@@ ist jetzt nicht mehr &9999.
31.7.91
- in CLEAR-BUFFER Löschen der Variablen LASTBLK hinzugefügt, die die
Nummer des zuletzt benutzten Blocks enthält um (BLOCK z.B. für
LOAD etwas zu beschleunigen.
10.8.91
- DODEFER, die DEFER Laufzeitroutine, erneut geändert, da sie nicht
funktionierte. Damit verbunden wurde auch ein 'R>->R'-Päärchen
aus AFTER_LOAD: in RAW.SCR entfernt.
- Wirkung von LASTBUF und LASTBLK in (BLOCK ausgeschaltet, da sie zu
Inkonsistenzen führte.
- AGAIN sichtbar gemacht. Der Header hatte gefehlt.
- UNLOOP eingeführt:
... DO ... IF UNLOOP EXIT THEN ... LOOP ...
11.8.91
- CHAR und [CHAR] in den Kernel übernommen. Alle Quellen
angepasst. ASCII taucht nicht mehr auf.
- CELLS, CELL+, CHARS, CHAR+ in den Kernel aufgenommen.
Einige '4+' in CELL+ gewandelt.
18.8.91
- DEVICE1.SCR verkleinert und in DEV.SCR umbenannt, damit es besser
auf eine Standarddiskette passt.
- (KEY), (EMIT), (KEY?), (R/W), (READSYS) und (WRITESYS) wieder
eingeführt, um Vektorisierund aud High Level zu ermöglichen.
Die Vektoren sind mit LOADERKEY, LOADEREMIT ... usw. vorbesetzt.
Diese wiederrum werten die Vektoren ^KEY, ^EMIT ... usw. aus.
In diesen Uservariablen können die Funktionsadressen aus den
Tabellen KEYS, EMITS ... usw. stehen. Damit hat man eine
zweistufige Vektorisierung.
- kleine Schönheitkorrekturen am Lader.
21.8.91
- >R und R> sind aufgrund der neuen Interpreterstruktur wieder
restrict.
??.??.??
- Fehler im Blockstreamsystem beseitigt. Filenamen werden vor ihrer
Bearbeitung nach HERE kopiert, da kompilierte Filenamen zu
ROO-Code (Run Once Only) geführt haben.
19.9.91
- PUSH, SAVEAREA und EVALUATE dem Kernel zugefügt.
21.9.91
- Fehler in BUSE korrigiert. Bei 'nicht gefunden' wurde ein Wert
zu wenig abgeräumt: NIP ---> NIP NIP
- Schönheitskorrekturen 4 <--> CELL
- PUSH aus Highlevel-Quellen auskommentiert.
- kleine Fehler in ANS-LOCALS und ANS-LOCALS_(TO) korrigiert, die
durch Übernahme von LOCAL in den Kernel entstanden sind.
- Optimierungen im Kernel:
bsr --> bsr.s
jsr --> bsr(.s)
- FENCE keine USER-Variable mehr.
- Fehler in PWD korrigiert. Es blieb ein Wert (directory @) auf
dem Stack liegen.
23.9.91
- Fehler in DIR beseitigt. Wenn Zeilverzeichnis nicht gefunden wurde,
blieb ein Wert auf dem Stack liegen.
- SAVE korrigiert. Flags von WRITESYS wurden nicht entfernt.
- SAVE in SAVE-SYSTEM umbenannt.
- BRANCH und ?BRANCH zwecks gesteigerter Kompatibilität zu anderen
Systemen (bigForth, ForthMacs) jetzt IMMEDIATE. Dadurch Änderungen in
CASE und UCS (POSTPONE).
4.10.91
- Disassembler von Reinhard Scharnagl provisori